В системе Linux абстракция "Всё — это файл" отображает все источники ввода-вывода — от обычных файлов до сетевых сокетов—в единый поток байтов. Эта унифицированная интерфейс позволяет обеспечить согласованное ввод-вывод на уровне системы для управления серверным процессом и клиентским процессом транзакцией на многопроцессорной архитектуре.
Единая модель
Независимо от того, обращается ли программа к обычному файлу, каталогу, или аппаратному обеспечению, например сетевому адаптеру, она использует одни и те же примитивы. Как видно из организации аппаратного обеспечения (Рисунок 11.2), операционная система соединяет процессор и память с устройствами через шину ввода-вывода, рассматривая сеть как файл для упрощения параллелизма на многопроцессорной архитектуре.
Надежный ввод-вывод и метаданные
Для обработки коротких считываний (где запрошенные байты $k$ связаны с доступными байтами $m$ как $k \ge m$), пакет Rio (надежный ввод-вывод) обеспечивает rio_readinitb для буферизированного ввода. Метаданные управляются через stat, в то время как права доступа, такие как O_RDWR и S_IROTH ограничиваются umask.